\( \newcommand{\cO}{\mathcal{O}} \newcommand{\cC}{\mathcal{C}} \newcommand{\cP}{\mathcal{P}} \newcommand{\cF}{\mathcal{F}} \newcommand{\cS}{\mathcal{S}} \newcommand{\cK}{\mathcal{K}} \newcommand{\cM}{\mathcal{M}} \newcommand{\GG}{\mathbb{G}} \newcommand{\ZZ}{\mathbb{Z}} \newcommand{\NN}{\mathbb{N}} \newcommand{\PP}{\mathbb{P}} \newcommand{\QQ}{\mathbb{Q}} \newcommand{\RR}{\mathbb{R}} \newcommand{\LL}{\mathbb{L}} \newcommand{\HH}{\mathbb{H}} \newcommand{\EE}{\mathbb{E}} \newcommand{\SP}{\mathbb{S}} \newcommand{\CC}{\mathbb{C}} \newcommand{\FF}{\mathbb{F}} \renewcommand{\AA}{\mathbb{A}} \newcommand{\sF}{\mathscr{F}} \newcommand{\sC}{\mathscr{C}} \newcommand{\ts}{\textsuperscript} \newcommand{\mf}{\mathfrak} \newcommand{\cc}{\mf{c}} \newcommand{\mg}{\mf{g}} \newcommand{\ma}{\mf{a}} \newcommand{\mh}{\mf{h}} \newcommand{\mn}{\mf{n}} \newcommand{\mc}{\mf{c}} \newcommand{\ul}{\underline} \newcommand{\mz}{\mf{z}} \newcommand{\me}{\mf{e}} \newcommand{\mff}{\mf{f}} \newcommand{\mm}{\mf{m}} \newcommand{\mt}{\mf{t}} \newcommand{\pp}{\mf{p}} \newcommand{\qq}{\mf{q}} \newcommand{\gl}{\mf{gl}} \newcommand{\msl}{\mf{sl}} \newcommand{\so}{\mf{so}} \newcommand{\mfu}{\mf{u}} \newcommand{\su}{\mf{su}} \newcommand{\msp}{\mf{sp}} \renewcommand{\aa}{\mf{a}} \newcommand{\bb}{\mf{b}} \newcommand{\sR}{\mathscr{R}} \newcommand{\lb}{\langle} \newcommand{\rb}{\rangle} \newcommand{\ff}{\mf{f}} \newcommand{\ee}{\epsilon} \newcommand{\heart}{\heartsuit} \newcommand{\floor}[1]{\lfloor #1 \rfloor} \newcommand{\ceil}[1]{\lceil #1 \rceil} \newcommand{\pushout}{\arrow[ul, phantom, "\ulcorner", very near start]} \newcommand{\pullback}{\arrow[dr, phantom, "\lrcorner", very near start]} \newcommand{\simp}[1]{#1^{\Delta^{op}}} \newcommand{\arrowtcupp}[2]{\arrow[bend left=50, ""{name=U, below,inner sep=1}]{#1}\arrow[Rightarrow,from=U,to=MU,"#2"]} \newcommand{\arrowtclow}[2]{\arrow[bend right=50, ""{name=L,inner sep=1}]{#1}\arrow[Rightarrow,from=LM,to=L]{}[]{#2}} % if you want to change some parameter of the label. \newcommand{\arrowtcmid}[2]{\arrow[""{name=MU,inner sep=1},""{name=LM,below,inner sep=1}]{#1}[pos=.1]{#2}} \newcommand{\dummy}{\textcolor{white}{\bullet}} %for adjunction \newcommand{\adjunction}[4]{ #1\hspace{2pt}\colon #2 \leftrightharpoons #3 \hspace{2pt}\colon #4 } %Math operators \newcommand{\aug}{\mathop{\rm aug}\nolimits} \newcommand{\MC}{\mathop{\rm MC}\nolimits} \newcommand{\art}{\mathop{\rm art}\nolimits} \newcommand{\DiGrph}{\mathop{\rm DiGrph}\nolimits} \newcommand{\FMP}{\mathop{\rm FMP}\nolimits} \newcommand{\CAlg}{\mathop{\rm CAlg}\nolimits} \newcommand{\perf}{\mathop{\rm perf}\nolimits} \newcommand{\cof}{\mathop{\rm cof}\nolimits} \newcommand{\fib}{\mathop{\rm fib}\nolimits} \newcommand{\Thick}{\mathop{\rm Thick}\nolimits} \newcommand{\Orb}{\mathop{\rm Orb}\nolimits} \newcommand{\ko}{\mathop{\rm ko}\nolimits} \newcommand{\Spf}{\mathop{\rm Spf}\nolimits} \newcommand{\Spc}{\mathop{\rm Spc}\nolimits} \newcommand{\sk}{\mathop{\rm sk}\nolimits} \newcommand{\cosk}{\mathop{\rm cosk}\nolimits} \newcommand{\holim}{\mathop{\rm holim}\nolimits} \newcommand{\hocolim}{\mathop{\rm hocolim}\nolimits} \newcommand{\Pre}{\mathop{\rm Pre}\nolimits} \newcommand{\THR}{\mathop{\rm THR}\nolimits} \newcommand{\THH}{\mathop{\rm THH}\nolimits} \newcommand{\Fun}{\mathop{\rm Fun}\nolimits} \newcommand{\Loc}{\mathop{\rm Loc}\nolimits} \newcommand{\Bord}{\mathop{\rm Bord}\nolimits} \newcommand{\Cob}{\mathop{\rm Cob}\nolimits} \newcommand{\Set}{\mathop{\rm Set}\nolimits} \newcommand{\Ind}{\mathop{\rm Ind}\nolimits} \newcommand{\Sind}{\mathop{\rm Sind}\nolimits} \newcommand{\Ext}{\mathop{\rm Ext}\nolimits} \newcommand{\sd}{\mathop{\rm sd}\nolimits} \newcommand{\Ex}{\mathop{\rm Ex}\nolimits} \newcommand{\Out}{\mathop{\rm Out}\nolimits} \newcommand{\Cyl}{\mathop{\rm Cyl}\nolimits} \newcommand{\Path}{\mathop{\rm Path}\nolimits} \newcommand{\Ch}{\mathop{\rm Ch}\nolimits} \newcommand{\SSet}{\mathop{\rm \Set^{\Delta^{op}}}\nolimits} \newcommand{\Sq}{\mathop{\rm Sq}\nolimits} \newcommand{\Free}{\mathop{\rm Free}\nolimits} \newcommand{\Map}{\mathop{\rm Map}\nolimits} \newcommand{\Chain}{\mathop{\rm Ch}\nolimits} \newcommand{\LMap}{\mathop{\rm LMap}\nolimits} \newcommand{\RMap}{\mathop{\rm RMap}\nolimits} \newcommand{\Tot}{\mathop{\rm Tot}\nolimits} \newcommand{\MU}{\mathop{\rm MU}\nolimits} \newcommand{\MSU}{\mathop{\rm MSU}\nolimits} \newcommand{\MSp}{\mathop{\rm MSp}\nolimits} \newcommand{\MSO}{\mathop{\rm MSO}\nolimits} \newcommand{\MO}{\mathop{\rm MO}\nolimits} \newcommand{\BU}{\mathop{\rm BU}\nolimits} \newcommand{\BSU}{\mathop{\rm BSU}\nolimits} \newcommand{\BSp}{\mathop{\rm BSp}\nolimits} \newcommand{\BGL}{\mathop{\rm BGL}\nolimits} \newcommand{\BSO}{\mathop{\rm BSO}\nolimits} \newcommand{\BO}{\mathop{\rm BO}\nolimits} \newcommand{\Tor}{\mathop{\rm Tor}\nolimits} \newcommand{\Cotor}{\mathop{\rm Cotor}\nolimits} \newcommand{\imag}{\mathop{\rm Im}\nolimits} \newcommand{\real}{\mathop{\rm Re}\nolimits} \newcommand{\Cat}{\mathop{\rm Cat}\nolimits} \newcommand{\Fld}{\mathop{\rm Fld}\nolimits} \newcommand{\Frac}{\mathop{\rm Frac}\nolimits} \newcommand{\Dom}{\mathop{\rm Dom}\nolimits} \newcommand{\Hotc}{\mathop{\rm Hotc}\nolimits} \newcommand{\Top}{\mathop{\rm Top}\nolimits} \newcommand{\Ring}{\mathop{\rm Ring}\nolimits} \newcommand{\CRing}{\mathop{\rm CRing}\nolimits} \newcommand{\CGHaus}{\mathop{\rm CGHaus}\nolimits} \newcommand{\Alg}{\mathop{\rm Alg}\nolimits} \newcommand{\Bool}{\mathop{\rm Bool}\nolimits} \newcommand{\hTop}{\mathop{\rm hTop}\nolimits} \newcommand{\Nat}{\mathop{\rm Nat}\nolimits} \newcommand{\Rel}{\mathop{\rm Rel}\nolimits} \newcommand{\Mod}{\mathop{\rm Mod}\nolimits} \newcommand{\Space}{\mathop{\rm Space}\nolimits} \newcommand{\Vect}{\mathop{\rm Vect}\nolimits} \newcommand{\FinVect}{\mathop{\rm FinVect}\nolimits} \newcommand{\Matr}{\mathop{\rm Matr}\nolimits} \newcommand{\Ab}{\mathop{\rm Ab}\nolimits} \newcommand{\Gr}{\mathop{\rm Gr}\nolimits} \newcommand{\Grp}{\mathop{\rm Grp}\nolimits} \newcommand{\Hol}{\mathop{\rm Hol}\nolimits} \newcommand{\Gpd}{\mathop{\rm Gpd}\nolimits} \newcommand{\Grpd}{\mathop{\rm Gpd}\nolimits} \newcommand{\Mon}{\mathop{\rm Mon}\nolimits} \newcommand{\FinSet}{\mathop{\rm FinSet}\nolimits} \newcommand{\Sch}{\mathop{\rm Sch}\nolimits} \newcommand{\AffSch}{\mathop{\rm AffSch}\nolimits} \newcommand{\Idem}{\mathop{\rm Idem}\nolimits} \newcommand{\SIdem}{\mathop{\rm SIdem}\nolimits} \newcommand{\Aut}{\mathop{\rm Aut}\nolimits} \newcommand{\Ord}{\mathop{\rm Ord}\nolimits} \newcommand{\coker}{\mathop{\rm coker}\nolimits} \newcommand{\ch}{\mathop{\rm char}\nolimits}%characteristic \newcommand{\Sym}{\mathop{\rm Sym}\nolimits} \newcommand{\adj}{\mathop{\rm adj}\nolimits} \newcommand{\dil}{\mathop{\rm dil}\nolimits} \newcommand{\Cl}{\mathop{\rm Cl}\nolimits} \newcommand{\Diff}{\mathop{\rm Diff}\nolimits} \newcommand{\End}{\mathop{\rm End}\nolimits} \newcommand{\Hom}{\mathop{\rm Hom}\nolimits}% preferred \newcommand{\Gal}{\mathop{\rm Gal}\nolimits} \newcommand{\Pos}{\mathop{\rm Pos}\nolimits} \newcommand{\Ad}{\mathop{\rm Ad}\nolimits} \newcommand{\GL}{\mathop{\rm GL}\nolimits} \newcommand{\SL}{\mathop{\rm SL}\nolimits} \newcommand{\vol}{\mathop{\rm vol}\nolimits} \newcommand{\reg}{\mathop{\rm reg}\nolimits} \newcommand{\Or}{\text{O}} \newcommand{\U}{\mathop{\rm U}\nolimits} \newcommand{\SOr}{\mathop{\rm SO}\nolimits} \newcommand{\SU}{\mathop{\rm SU}\nolimits} \newcommand{\Spin}{\mathop{\rm Spin}\nolimits} \newcommand{\Sp}{\mathop{\rm Sp}\nolimits} \newcommand{\Int}{\mathop{\rm Int}\nolimits} \newcommand{\im}{\mathop{\rm im}\nolimits} \newcommand{\dom}{\mathop{\rm dom}\nolimits} \newcommand{\di}{\mathop{\rm div}\nolimits} \newcommand{\cod}{\mathop{\rm cod}\nolimits} \newcommand{\colim}{\mathop{\rm colim}\nolimits} \newcommand{\ad}{\mathop{\rm ad}\nolimits} \newcommand{\PSL}{\mathop{\rm PSL}\nolimits} \newcommand{\PGL}{\mathop{\rm PGL}\nolimits} \newcommand{\sep}{\mathop{\rm sep}\nolimits} \newcommand{\MCG}{\mathop{\rm MCG}\nolimits} \newcommand{\oMCG}{\mathop{\rm MCG^+}\nolimits} \newcommand{\Spec}{\mathop{\rm Spec}\nolimits} \newcommand{\rank}{\mathop{\rm rank}\nolimits} \newcommand{\diverg}{\mathop{\rm div}\nolimits}%Divergence \newcommand{\disc}{\mathop{\rm disc}\nolimits} \newcommand{\sign}{\mathop{\rm sign}\nolimits} \newcommand{\Arf}{\mathop{\rm Arf}\nolimits} \newcommand{\Pic}{\mathop{\rm Pic}\nolimits} \newcommand{\Tr}{\mathop{\rm Tr}\nolimits} \newcommand{\res}{\mathop{\rm res}\nolimits} \newcommand{\Proj}{\mathop{\rm Proj}\nolimits} \newcommand{\mult}{\mathop{\rm mult}\nolimits} \newcommand{\N}{\mathop{\rm N}\nolimits} \newcommand{\lk}{\mathop{\rm lk}\nolimits} \newcommand{\Pf}{\mathop{\rm Pf}\nolimits} \newcommand{\sgn}{\mathop{\rm sgn}\nolimits} \newcommand{\grad}{\mathop{\rm grad}\nolimits} \newcommand{\lcm}{\mathop{\rm lcm}\nolimits} \newcommand{\Ric}{\mathop{\rm Ric}\nolimits} \newcommand{\Hess}{\mathop{\rm Hess}\nolimits} \newcommand{\sn}{\mathop{\rm sn}\nolimits} \newcommand{\cut}{\mathop{\rm cut}\nolimits} \newcommand{\tr}{\mathop{\rm tr}\nolimits} \newcommand{\codim}{\mathop{\rm codim}\nolimits} \newcommand{\ind}{\mathop{\rm index}\nolimits} \newcommand{\rad}{\mathop{\rm rad}\nolimits} \newcommand{\Rep}{\mathop{\rm Rep}\nolimits} \newcommand{\Lie}{\mathop{\rm Lie}\nolimits} \newcommand{\Der}{\mathop{\rm Der}\nolimits} \newcommand{\hgt}{\mathop{\rm ht}\nolimits} \newcommand{\Ider}{\mathop{\rm Ider}\nolimits} \newcommand{\id}{\mathop{\rm id}\nolimits} \)

RESOLVING SINGULARITIES GLOBALLY AND LOCALLY

ISHAN LEVY

1. Introduction

It is important to be able to resolve singularities of a variety \(V\), meaning finding a nonsingular \(V'\) with a proper, birational morphism \(V'\to V\). It shows that every variety has a nonsingular projective model, and one can use this existence to try to transfer theory from nonsingular varieties to singular varieties. Resolution of singularities is known in characteristic \(0\) due to Hironaka [Hir64], but not in positive characteristic beyond low dimensions (although Hironaka recently claimed a proof in positive characteristic). The characteristic \(0\) result is itself very useful: it implies that given some homogeneous polynomials, there is a compact complex manifold that parameterizes their simultaneous zeros in projective space.

Here we will focus on methods to resolve singularities that work well in dimensions \(1\) and \(2\). We will work over an algebraically closed field \(k\), our varieties will always be irreducible, and point will usually mean closed point. One general way to try to resolve singularities is to blow up the variety. This can be motivated by realizing that any birational morphism of projective varieties is the blow up of some sheaf of ideals (see for example Thm 7.17 Ch II of [Har77]), so certainly any resolution should be of this form.

We can see this sheaf of ideals explicitly in the case of resolving curve singularities that look “very cusp-like”:

Proposition 1.1. Let \(R\) be an integral domain of dimension \(1\), and \(\tilde{R}\) its normalization. Suppose \(\tilde{R}\) is a DVR with valuation \(\nu \) and \(\nu (R)\) generates the value group \(\ZZ \). Then there exist elements \(a,b \in R\) such that \(\nu (a) = \nu (b)+1\), and for any such elements, \(\tilde{R}\) is the blowup \(B_{(a,b)}R\) of the ideal \((a,b)\).

Proof. Since \(\nu (R)\) generates the value group \(\ZZ \) and is a submonoid of \(\ZZ \), it follows that we can find \(a,b \in R\) such that \(\nu (a) = \nu (b)+1\). Now consider the blowup of the ideal \((a,b)\), given by \(\Proj (\bigoplus _i (a,b)^i)\). In the affine chart where \(a \neq 0\), we have the ring \(R[\frac b a] = \Frac (R)\), and in the affine chart \(b \neq 0\) we have \(R[\frac a b] = \tilde{R}\) since \(\frac a b\) is a uniformizer. The transition map is an identification of the fraction fields \(\Frac (R) = \Frac (\tilde{R})\), so indeed \(\tilde{R}\) is the blowup.

For example, consider the map \(\AA ^1\to \AA ^2\) given by \(t \mapsto (t^b,t^a)\), where \(a<b\) are coprime positive integers. This map is the normalization of its image, which in \(\AA ^2\) is given by \(x^a = y^b\). The map of \(k\)-algebras corresponding to this normalization is the inclusion \(k[z^a,z^b] \hookrightarrow k[z]\). To realize \(k[z]\) as a blowup, since \(a,b\) are coprime, choose some \(c\) such that both \(c\) and \(c+1\) are a positive linear combination of \(a,b\). Then we can blow up the ideal \((z^c,z^{c+1})\), and by the proposition the result should be the normalization. In this case we can compute the blowup even more explicitly. By definition it is \(\Proj (k[z^a,z^b]\oplus (z^c,z^{c+1}), \oplus \dots )\) and so we easily see it is the subset of \(\AA ^2 \times \PP ^1\) that is the image of \(\AA ^1\) under the map \((t^b,t^a;t^{c+1}:t^c) = (t^b,t^a;t:1)\), which is clearly an isomorphism.

This example gives another reason why blowing up is a good idea. For a singular codimension \(1\) point, the local ring isn’t principle, though it should be in order to be regular. By the universal property of blowing up, the pullback of this ideal to the blowup will be locally principle. If the ideal is chosen carefully (such as \((z^c,z^{c+1})\)), it will observe the singularity to the fullest extent, and forcing to be principle it will eliminate the singularity.

However we do not have to blow up all at once. We could instead try just blowing up the maximal ideal. Since \(a<b\), we get that the blowup of the maximal ideal is locally given by \(\tilde{x}^a = y^{b-a}\). We could repeat this process many times, effectively running the Euclidean algorithm on \(a,b\). We will then eventually end up with the normalization when the Euclidean algorithm terminates. In fact in more generality a blowup of an ideal sheaf can be achieved via point blowups. For smooth surfaces, this amounts to the fact that a birational morphism of smooth surfaces is a composite of point blowups, the proof of which can be found in [Sha13].

From now on we will stick to blowing up points. First we will consider a method of singularity resolution due to Albanese that in looks like a blowup, but fixes singularities in a more global way. Then we will examine two local methods of resolving curve singularities. All of these methods work to some extent in higher dimensions but not as well.

2. The Albanese method of projections

For the Albanese method one starts with an \(n\)-dimensional variety \(X\) embedded into projective space \(\PP ^N\) such that it spans \(\PP ^N\) and is degree less than \((n!+1)(N+1-n)\). Such an embedding can always be found for a projective variety: take a very ample line bundle \(L\), and choose some incomplete globally generated linear system corresponding to \(L\) that sends \(X\) to a hypersurface \(X' \subset \PP ^{n+1}\) (this can be achieved by projecting generically from the embedding of \(L\) for example). \(X'\) is given by a homogeneous polynomial \(F\) of degree \((L^n)\), where \((L^n)\) is the self intersection of the hyperplane class corresponding to the line bundle. Now using the \(m^{th}\) Veronese embedding, we can count the global sections of the line bundle corresponding to \(X'\)’s embedding as at least the dimension of degree \(m\) polynomials that \(F\) doesn’t divide. When \(m\geq (L^n)\), this is \(\binom{n+m+1}{n+1}-\binom{n+m+1-(L^n)}{n+1}\geq (L^n)\frac{(m+1-(L^n))^n}{n!}\). This gives a lower bound on \(h^0(X,L^{\otimes m})\), so for large \(m\) if \(X_m\) is \(X\) embedded via \(L^{\otimes m}\), we have \(\deg (X_m) = m^n(L^n) < (n!+1)((L^n)\frac{(m+1-(L^n))^n}{n!}-n)\).

Now given such an embedding, the Albanese method is the following: at the \(i^{th}\) step, we have a projection map \(\pi _i\) of varieties embedded in projective space from \(X\) to \(X_i\), with \(\pi _0\) the identity. Choose a point \(p_i \in X_i\) (if it exists) satisfying \(\deg (\pi _i)\mult _{p_i}X_i\geq n!+1\), and project from it, defining \(\pi _{i+1}\) as the projection to the closure of the image. The algorithm stops when there are no more \(p_i\) left, or the next projection would yield an \(X_i\) of smaller dimension.

To see the connection to blowing up, note that after a blowup, a projection map from \(\PP ^N\) to \(\PP ^{N-1}\) becomes a regular map. What is somewhat surprising then is that the Albanese method is able to resolve some singularities that aren’t isolated. Namely, the following is true:

Theorem 2.1. The Albanese method results with some \(X_i\) with either \(\deg (\pi _i)\mult _pX_i\leq n!\) for all \(p\), or \(X_i\) is a cone with \(\deg (\pi _i)\leq n!\).

Proof. First note that each of the \(X_i\) will span its corresponding projective space (since it comes from a linear system on \(X\)).

Then note that \(\deg X_{i+1} \deg (X_i/X_{i+1}) = \deg X_i-\mult _{p_i}X_i\), by choosing a general plane of complementary codimension that intersects \(X_{i+1}\) at points where the projection from \(X_i\) is unramified and regular. Then the pullback of this plane under the projection intersects \(\deg (X_i/X_{i+1})\) times for every intersection point, and moreover has a new intersection point at \(p_i\) of multiplicity \(\mult _{p_i}X_i\).

Now since \(X_i\) is in \(\PP ^{N-i}\) and it spans, we must have that \(\deg X_i\geq N+1-i-n\). Indeed, choose \(N+1-i-n\) linearly independent points on \(X_i\), and they span a plane of codimension \(n\), so that the intersection number with \(X_i\) is \(\geq N+1-i-n\).

At the \(i^{th}\) step of the algorithm, if a \(p_i\) exists, and \(X_i\) is not a cone centered at \(p_i\), then the projection map is generically finite. By induction if \(\deg (\pi _i)\deg X_i < (n!+1)(N+1-i-n)\), we have

\[ \deg (\pi _{i+1})\deg X_{i+1} = \deg (\pi _i)(\deg X_i-\mult _{p_i}X_i)\]\[\leq \deg (\pi _i)\deg X_i - (n!+1) < (n!+1)(N-i-n) \]

When the algorithm stops, since the final \(X_i\) still spans \(\PP ^{N-i}\), we must have that \(\deg (\pi _i) \leq n!\) since \(\deg X_0 < (n!+1)(N+1-n)\) and \(\deg X_i \geq N+1-i-n\), and \(\pi _i\) is given by a projection on a plane for whih the total multiplicities of the intersection points with \(X\) is \(\geq (n!+1)i\).

We can see that this algorithm sees the resolution of singularities in a global way, namely via the degree of the embedding into projective space. This method can prove resolution of singularities in low dimensions. Before doing so, it is good to note that the problem of resolving singularities of complete varieties can be reduced to the case of projective varieties:

Lemma 2.2 (Chow’s lemma). If \(X\) is a complete variety (not necessarily projective), there is a projective variety \(X'\) with a surjective birational morphism \(X' \to X\).

Proof. Take a finite affine cover of \(X\), \(U_1,\dots U_n\), and let \(V_i\) be a projective closure of \(U_i\). then let \(X'\) be the closure of the image of \(\bigcap U_i\) via the diagonal embedding into \(\prod _iV_i\times X\). Now the projection of \(X'\) onto \(X\) is a surjective morphism since \(X\) is complete, and is birational since it is an isomorphism for example on \(\bigcap U_i\). The projection of \(X'\) onto \(\PP ^N\) is an embedding. To see this, it suffices to check locally on the open cover given by the preimages of \(U_i\) in the projection \(X' \to V_i\). But this is true because these open sets are contained in the graph of the map \(U_i\times \prod _{j\neq i}V_i \xrightarrow{\pi } U_i \hookrightarrow X\), for which the projection is an isomorphism.

Corollary 2.3. The Albanese method resolves curve singularities.

Proof. Here \(n!=1\) so the resulting curve from the algorithm is nonsingular and birational to the original curve.

To get a result about surfaces we need the following elementary property of multiplicities which can be found in Section 2.8 of [Kol07]:

Proposition 2.4. Let \(X\xrightarrow{f} Y\) be a finite morphism of varieties, \(y\in Y\) a point. Then \(\sum _{x \in f^{-1}(y)}\mult _xX\leq \deg f \mult _yY\).

Corollary 2.5. Every surface \(X\) is birational to a projective normal surface with finitely many double points.

Proof. We can run the Albanese algorithm to get a few cases. We will either get a degree \(1\) or \(2\) map, to a variety \(X'\) that is either smooth or a cone. If \(X'\) is a cone, it is birational to \(\PP ^1\times C\) for some curve \(C\), which we can choose to be the nonsingular model of the curve. In any case, we can take the normalization of \(X'\) in \(k(X)\), which by the proposition will have finitely many double points.

Let’s try some simple examples of the Albanese method, that will again show that it is a global method. For example, were the Albanese method a local method, we would expect the multiplicity of isolated singularities to go down after a projection. But this is not necessarily the case. For example, consider the image of the map from \(\PP ^1\) into \(\PP ^n\) given by \((t^{m_1}:t^{m_2}s^{m_1-m_2}:\dots :t^{m_n}s^{m_1-m_n}:s^{m_1})\) where \(i < j \implies m_i > m_j\). If we project from the singular point \((0:0:\dots :1)\) of multiplicity \(m_n\), we get the map from \(\PP ^1\) given by \((t^{m_1-m_n}:t^{m_2-m_n}s^{m_1-m_2}:\dots s^{m_1-m_n})\). It does look like the map has gotten simpler, but if \(m_{n-1}-m_n>m_n\), then the multiplicity of the singularity actually increases.

Another example of how this is a global method is how projecting from a point can actually remove singularities that weren’t close to it. Consider the hypersurface in \(\PP ^3\) given by \(y^3z=x^4\). There is a map from \(\AA ^2\) to it given by \((t:s^3:s^4:1)\). Projecting from the point \((w:x:y:z) = (0:0:0:1)\) which is singular of multiplicity \(3\), composing this map from \(\AA ^2\) gives \((t:1:s)\). Thus the projection is a birational map to \(\PP ^2\), so it fixes all singularities.

3. Normalization, Method of maximal contact

Now we will focus on local methods that resolve singularities for curves. In fact we have already used one such method above: normalization. We used it to get only finitely many double points on surfaces using the Albanese method. However it only resolves codimension \(1\) singularities in general, which for curves, is good enough.

Where does normalization come from? One way to answer this is to discover the notion by looking at (compact) Riemann surfaces. Riemann when considering these passed directly to the nonsingular models of curves. If one were able to do this for a singular curve \(C\), given a map \(C'\to C\) from a nonsingular curve, it should factor through the nonsingular model \(\tilde{C}\). Then if \(p \in C\) is a point, \(\tilde{p}\) a point in the normalization, and \(q\) a point in the preimage, the corresponding map \(\cO _{p}\) to \(\cO _{q}\) factors through \(\cO _{\tilde{p}}\). \(\cO _{q}\) is a DVR as \(C'\) is nonsingular, and \(\cO _{p},\cO _{\tilde{p}}\) share the same fraction field. This property characterizes the normalization: it is the largest subring of \(\Frac (R)\) such that any map from \(R\) to a DVR factors through it.

For Riemann surfaces there is another way to see the normalized sheaf of rings directly in the singular model. Note that the normalization map is biholomorphic away from the singular points. By the Riemann extension theorem, the sheaf of holomorphic functions on the nonsingular model is then the same as the sheaf of holomorphic functions on the singular model that are bounded near the singular points. Producing the actual nonsingular model is not much more difficult. By Nöther normalization, one can produce a finite map \(C \to \PP ^1\). If \(x\) is the image of a singular point \(p\), there is a small deleted neighborhood of \(x\) for which the finite map is unramified, hence a covering map. We know that all connected covers of the unit disk with a point removed are given by \(z \mapsto z^n\). Thus we can replace local charts of the covering maps by copies of the unit disk with the map \(z \mapsto z^n\). But by the Riemann extension theorem this map can be extended to the entire unit disk.

Computing the normalization of a curve algebraically is not necessarily easy, but it can be done by repeatedly blowing up the curve at points. When we blowup, the sum of the multiplicities of the exceptional points in the blowup is at most the multiplicity of the original singular point. Thus it only needs to be proved that there can not be an infinite number of blowups where the singularity’s multiplicity is constant.

When the curve \(C\) is embedded in a smooth surface \(S\), there is a nice way to do this that actually gives a bound on the number of times needed to blow up to reduce the multiplicity \(m\) of the point \(p\), called the method of maximal contact. Here we need to find a curve \(H\neq C\) smooth at \(p\) called a curve of maximal contact such that if \(S'\to S\) is a birational morphism, the birational transform of \(H\) will intersect the preimages of \(p\) with multiplicity \(m\).

Theorem 3.1. If \(H\) is a curve of maximal contact for \(p \in C \subset S\) of multiplicity \(m\) and \((CH)_p\) is the local intersection number, then at most \(\frac{(CH)_p} m\) blowups are needed to lower the multiplicity of the singularity. Moreover, if \(x,y\) are local coordinates for \(S\) such that \(f(x,y)\) is a local equation for \(C\) with \(y^m\) appearing with nonzero coefficient, then \(\frac{\partial ^{m-1}f}{\partial y^{m-1}}\) is a curve of maximal contact.

Proof. Let \(\pi \) be the blowup with center \(p\). Then if \(E\) is the exceptional divisor, \(\pi ^*H = H'+E\), \(\pi ^*C = C'+mE\) where \(H',C'\) are the birational transforms. Then since pulling back commutes with intersection, \(CH-C'H' = (CH)_p-(C'H')_p = C'E+mH'E-m = m\). Thus after \(\frac{(CH)_p} m\) blowups there can be no points of multiplicity \(m\). To see that \(\frac{\partial ^{m-1}f}{\partial y^{m-1}}\) is a curve of maximal contact, consider the chart in the blowup given by \(\tilde{y} = xy\). Then the local equation for \(C'\) is \(\tilde{f} = x^{-m}f(x,x\tilde{y})\). Repeatedly applying the chain rule shows that \(\frac{\partial ^{m-1} \tilde{f}}{\partial \tilde{y}^{m-1}} = x^{-1}\frac{\partial ^{m-1}{f}}{\partial{y}^{m-1}}\), so that \(\frac{\partial ^{m-1} \tilde{f}}{\partial \tilde{y}^{m-1}}\) is the local equation for \(H'\). Thus if the blowup still has multiplicity \(m\), \(H'\) will intersect the new singular point. Since any birational map of surfaces is a composite of point blowups, we are done.

As an example, consider the curve given by \(y^a = x^b, a<b\) in \(\AA ^2\). using \(x,y\) as local parameters, We get from above that \(y=0\) is a curve of maximal contact. Its local intersection number is \(\dim _kk[x,y]_{(x,y)}/(y^a-x^b,y) = b\), so we get that \(\frac b a\) is enough blowups to reduce the multiplicity, which we have already seen to be true since blowing up runs the Euclidean algorithm on \(a,b\).

We have seen that there are many different ways one can resolve singularities. Usually, one has an invariant such as the degree or a local intersection number, that measures the complexity of the singularities, and show that it gets smaller as one does some operation to the variety (such as blowing up or projecting from a singular point). It is interesting that it is possible to do this with both global and local invariants such as in the two very different ways shown here. These methods for resolving singularities often give better results when aided by other methods such as normalization.

References

[Har77]

Robin Hartshorne. Algebraic Geometry. Springer-Verlag New York, 1977.

[Hir64]

Heisuke Hironaka. “Resolution of Singularities of an Algebraic Variety Over a Field of Characteristic Zero: I”. In: Annals of Mathematics, Second Series 79.1 (1964), pp. 109–203.

[Kol07]

János Kollár. Lectures on Resolution of Singularities. Princeton University Press, 2007.

[Sha13]

Igor R Shafarevich. Basic Algebraic Geometry I. Springer-Verlag Berlin Heidelberg, 2013.